﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using METU_CMT.Business;

namespace METU_CMT
{
    public partial class UpdateTeamProfileScreen : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        public void BindTeamInfo()
        {
            
        }

        protected void OnLnkBtnChangeTeamLogoClicked(object sender, EventArgs e)
        {
            Student _student = (Student) EntityFactory.User;
            Course _currentCourse = EntityFactory.GetCurrentCourse(UserType.Student);

            Team _team = _currentCourse.GetTeamOfStudent(_student);
            SetTeamLogoFile(_team.LogoFile);

        }

        private void SetTeamLogoFile(string logoFile)
        {
            //TODO: Not Implemented
        }

        protected void OnBtnSaveClicked(object sender, EventArgs e)
        {
            Student _student = (Student)EntityFactory.User;
            Course _currentCourse = EntityFactory.GetCurrentCourse(UserType.Student);

            Team _team = _currentCourse.GetTeamOfStudent(_student);
            _team.TeamName = txtTeamName.Text;

        }

        protected void OnBtnAddClicked(object sender, EventArgs e)
        {
            StringBuilder _dosyaAdi = new StringBuilder();
            DateTime _now = DateTime.Now;

            if (string.IsNullOrEmpty(fuNewSchedule.FileName))
            {
                //ShowAlert("Lütfen eklemek istediğiniz dosyayı seçiniz...");
                return;
            }
            HttpPostedFile _myFile = fuNewSchedule.PostedFile;
            string _fileExt = Path.GetExtension(fuNewSchedule.FileName);

            if (string.IsNullOrEmpty(_fileExt))
            {
                //ShowAlert("Yüklemek istediğiniz dosyanın uzantısı bulunamadı.");
                return;
            }

            if (_myFile.ContentLength > 10500000)
            {
                //ShowAlert("Yükleyeceğiniz dosyanın boyutu 10 MB sınırını geçmemelidir.");
                return;
            }
            if (!_fileExt.ToLower().Equals(".jpg") && !_fileExt.ToLower().Equals(".bmp") &&
                !_fileExt.ToLower().Equals(".png") && !_fileExt.ToLower().Equals(".jpeg"))
            {
                //ShowAlert(
                //    "Yalnızca Word, Excel, PowerPoint, PDF, Resim ve Video tipinde dosyalar yükleyebilirsiniz.");
                return;
            }
            if (_dosyaAdi.ToString().Contains("$"))
            {
                //TODO: Log: file name cannot contain $
                return;
            }

            _dosyaAdi.Append(
                Path.GetFileNameWithoutExtension(fuNewSchedule.FileName));
            _dosyaAdi.Append("$" + EntityFactory.User.UserId + "_");
            _dosyaAdi.Append(_now.ToString("yyyyMMddhhmmss"));
            StringBuilder _savePath =
                new StringBuilder(Server.MapPath("~/UserImages/") + _dosyaAdi + _fileExt);

            fuNewSchedule.PostedFile.SaveAs(_savePath.ToString());

            fuNewSchedule.Dispose();

            imgTeamLogo.ImageUrl = "/UserImages/" + _dosyaAdi + _fileExt;

            EntityFactory.User.InsertImage("/UserImages/" + _dosyaAdi + _fileExt);
        }
    }
}